Thornton and Brundy (2021) studied the journal prices charged by Elsevier to five different academic institutions in the USA. These prices were negotiated and differed from the list prices available on Elsevier’s web site. I think this is a valuable study as it shows the variance paid for titles by different institutions for individual titles (as opposed to a “big deal” bundle for all of ScienceDirect content).
The data underlying their paper are available via figshare. I have downloaded these files, fixing what I think are a few minor issues when working with these data in R. The data were provided separately for each institution, so here I reassemble them so that they are arranged into a table, one row per journal, and columns for each institution.
The key variable is termed ALP: Adjustment from List Price. This is the percentage difference from list price (negative values meaning a reduction paid compared to list price).
This interactive document allows you to search by journal, or sort the data by various columns in the combined dataset.
This interactive document is generated by Rmarkdown, and all source data are available at https://github.com/sje30/thornton21.
Note there is currently a bug in the data: ALPs for ISU (Iowa) are the wrong sign.
Use the mouse to hover over a point to discover the name of the journal that it represents:
From this it is clear that UNC (University of North Carolina) and WVU (West Virginia University) received biggest discounts on list price. The reason for the increase in some prices for UNC will become clear when you see which journals they are. I was suprised to see that a journal I read (Journal of Theoretical Biology) had the biggest saving.
e.g. find those greater than 30% than list price. No surprises that the outlier (384% ALP) is the journal Cell. In the following tables you can search for particular journal names, or clicking on the arrows next to each column heading will sort by that column.
DT::datatable(filter(dat, ALP>=30))
e.g. find those with at least 30% saving on list price.
DT::datatable(filter(dat, ALP<=-30))
Most journals are subscribed to by only one journal:
##
## 1 2 3 4 5
## 469 237 93 40 32
This table shows for each journal in the database the price paid by each institution. The column ‘count’ indicates the number of institutions that subscribed to that journal, and varies between 1 and 5.
DT::datatable(dat1)